@charset "utf-8";

/*
   New Perspectives on HTML5 and CSS3, 8th Edition
   Assignment 1
   
   Author: Aaron Ng
   Date: 12 May 2024    
   Filename: Zero Hunger Txt.css

*/
/* Set Defaut*/
* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   font-family: 'Poppins', sans-serif;
   text-decoration: none;
   list-style: none;
   scroll-behavior: smooth;
}

:root {
   --bg-color: #163514;
   --second-bg-color: #10230e;
   --text-color: #fff;
   --second-color: #ccc;
   --main-color: green;
   --big-font: 5rem;
   --h2-font: 3rem;
   --p-font: 1.1rem;
   --light: #CDF6FA;
   --bg_1: #111E25;
   --bg_2: #111111;
}
html {
   max-width: 1920px; /* Width Resolution of 1920px */
}

/* Body */
body {
   background: var(--bg-color);
   color: var(--text-color);
}

/* Menu Icon */
#menu-icon {
   font-size: 35px;
   color: var(--text-color);
   z-index: 1001;
   cursor: pointer;
   margin-left: 75px;
   display: none;
}
/* Rainbow box-shadow */
@keyframes color-mix {
   0% { color: red }
   100% { color: blue }
}
/* First Section */
section {
   padding: 160px 11% 120px;
}
.home {
   position: relative;
   height: 120vh;
   width: 100%;
   background-image: url(Profile1.png);/* "Pixlr.com" */
   background-size: cover;
   background-position: center;
   display: flex;
   align-items: center;
   justify-content: flex-start;
}
span {
   color: var(--main-color);
}
.slide {
   margin-bottom: 20px;
}
.home-text h1 {
   font-size: var(--big-font);
   font-weight: 700;
   color: var(--text-color);
   line-height: 1.1;
   margin: 0 0 8px;
}
.home-text h3 {
   color: var(--text-color);
   margin: 0 0 35px;
   font-size: 3rem;
   font-weight: 700;
   line-height: 1.1;
}
.home-text p {
   color: var(--second-color);
   font-size: var(--p-font);
   line-height: 1.8;
   margin-bottom: 40px;
}
.button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
}
.btn {
   display: inline-block;
   padding: 12px 28px;
   background: var(--main-color);
   border-radius: 5px;
   color: var(--text-color);
   font-size: 1rem;
   letter-spacing: 1px;
   font-weight: 600;
   transition: all .45s ease;
}
.btn:hover {
   transform: scale(0.9);
}
.btn2 {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   font-size: 15px;
   font-weight: 600;
   color: var(--text-color);
   margin-left: 35px;
}
.btn2 span i {
   height: 55px;
   width: 55px;
   background: var(--main-color);
   color: var(--text-color);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 35px;
   border-radius: 50%;
   margin-right: 15px;
   transition: all 0.45s ease;
}
.btn2 span i:hover {
   transform: scale(1.1) translateY(5px);
}
.one {
   display: inline-block;
   margin-right: 15px;
   height: 32px;
   padding: 0 15px;
   line-height: 32px;
   font-size: 20px;
   font-weight: 500;
   border-radius: 5px;
   background: var(--main-color);
   color: var(--text-color);
}
.two {
   display: inline-block;
   color: var(--second-color);
   font-size: 20px;
   font-weight: 500;
}
/* Second Section */
header.sticky {
   background: rgba(0, 100, 0, 0.3);
   border-bottom: 2px solid rgba(0, 100, 0, 0.3);
   padding: 12px 15%;
}
.about {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   align-items: center;
   gap: 1.5rem;
}
.about-img img {
   max-width: 530px;
   height: auto;
   width: 100%;
   border-radius: 8px;
   animation: color-mix 1s linear infinite alternate;
   box-shadow: 0 10px 20px 0 currentColor;
}
.about-text h2{
   font-size: var(--h2-font);
   line-height: 1;
}
.about-text h4 {
   font-size: 24px;
   font-weight: 600;
   color: var(--text-color);
   line-height: 1.7;
   margin: 15px 0 30px;
}
.about-text p {
   color: var(--second-color);
   font-size: var(--p-font);
   line-height: 1.8;
   margin-bottom: 2rem;
}
/* Third Section */
.services {
   background: var(--second-bg-color);
}
.main-text {
   text-align: center;
}
.main-text p {
   color: var(--second-color);
   font-size: 15px;
   margin-bottom: 15px;
}
.main-text h2 {
   color: var(--h2-font);
   line-height: 1;
}
.service-content {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(250px, auto));
   align-items: center;
   gap: 2.5rem;
   margin-top: 5rem;
}
.box {
   background: var(--bg-color);
   padding: 35px 45px;
   border-radius: 8px;
   transition: all .45s ease;
}
.s-icons i {
   font-size: 32px;
   margin-bottom: 20px;
}
.box h3 {
   font-size: 24px;
   font-weight: 600;
   color: rgb(0, 244, 0);
   margin-bottom: 15px;
}
.box p {
   color: var(--second-color);
   font-size: 1rem;
   line-height: 1.8;
   margin-bottom: 25px;
}
.read{
   display: inline-block;
   padding: 8px 18px;
   background: #333333;
   color: var(--second-color);
   font-size: 14px;
   font-weight: 500;
   border-radius: 8px;
   transition: all 0.45s ease;
}
.read:hover {
   letter-spacing: 1px;
   background: #ffffff99;
   color: var(--text-color);
}
.box:hover {
   transform: translateY(-8px);
   cursor: pointer;
}
/* Fourth Section */
.portfolio-content {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(350px, auto));
   align-items: center;
   gap: 2.5rem;
   margin-top: 5rem;
}
.row {
   position: relative;
   overflow: hidden;
   border-radius: 8px;
   cursor: pointer;
}
.row img {
   width: 100%;
   border-radius: 8px;
   display: block;
   transition: transform 0.5s;
}
.layer {
   width: 100%;
   height: 0;
   background: linear-gradient(rgba(0,0,0,0.1), #14d510);
   position: absolute;
   border-radius: 8px;
   left: 0;
   bottom: 0;
   overflow: hidden;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   text-align: center;
   padding: 0 20px;
   transition: height 0.5s;
}
.layer h5 {
   font-size: 20px;
   font-weight: 600;
   margin-bottom: 15px;
}
.layer p {
   color: white;
   font-size: 1rem;
   line-height: 1.8;
}
.layer i {
   color: var(--main-color);
   margin-top: 20px;
   font-size: 20px;
   background: var(--text-color);
   width: 60px;
   height: 60px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
}
.row:hover img {
   transform: scale(1.1);
}
.row:hover .layer {
   height: 100%;
}
/* Fifth Section */
.contact {
   background: var(--second-bg-color);
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   align-items: center;
   gap: 2.5rem;
}
.contact-text h4 {
   color: var(--text-color);
   margin: 18px 0;
   font-size: 20px;
   font-weight: 600;
}
.contact-text h2 {
   font-size: var(--h2-font);
   line-height: 1;
}
.contact-text p {
   color: var(--second-color);
   font-size: var(--p-font);
   line-height: 1.8;
   margin-bottom: 30px;
}
.list {
   margin-bottom: 2.8rem;
}
.list li {
   margin-bottom: 12px;
}
.list li a {
   display: block;
   color: var(--second-color);
   font-size: 14px;
   transition: all .45s ease;
}
.list li a:hover {
   color: var(--text-color);
   transform: translateX(5px);
}
.contact-icons i{
   height: 45px;
   width: 45px;
   background: var(--main-color);
   color: var(--text-color);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 8px;
   margin-right: 15px;
   transition: all .45s ease;
}
.contact-icons i:hover {
   background: var(--text-color);
   color: var(--main-color);
}
/* Responsive TextArea */
.wrap {
	width: 100%;
	height: 100%;
	position: relative;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: auto;
}
.feedback h1{
   text-align: center;
}
.row {
	position: relative;
	margin-top: 25px;
}
.row input, .row textarea {
   width: 25em;
   padding: 10px;
   margin: 0;
   border: 1px solid var(--light);
   border-radius: 3px;
   font-family: inherit;
   color: inherit;
   font-size: 15px;
   background: linear-gradient(120deg, var(--bg_2), var(--bg_1));
}
.button {
	text-align: center
}
.button button {
	width: 25em;
	padding: 10px;
	margin: 0;
	border: 1px solid var(--light);
	border-radius: 3px;
	font-family: inherit;
	color: inherit;
	font-size: 15px;
	background: linear-gradient(120deg, var(--bg_2), var(--bg_1));
	transition: all .4s linear  ;
	-moz-transition: all .3s linear;
	-webkit-transition: all .3s linear;
	-o-transition: all .3s linear;
}
.button button:hover {
	background: var(--light);
	color: var(--bg_2);
}
.label {
	position: absolute;
	top: 11px;
	left: 11px;
	font-size: 14px;
	letter-spacing: 1px;
	color: #888888;
	cursor: text;
	transition: all .20s ease-in-out 0s;
}
.row_input:focus {
	box-shadow: inset 0 0 5px var(--light);
}
.row_input:focus ~ .label,
.row_input:valid ~ .label {
	top: -18px;
	left: 0;
	font-size: 16px;
	color: var(--light);
}
.row_input:focus ~ .label:first-letter,
.row_input:valid ~ .label:first-letter {
	text-transform: uppercase;
}
/* Last Section */
.end {
   padding: 20px 15%;
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 2rem;
   justify-content: space-between;
   background: var(--bg-color);
}
.last-text p {
   color: var(--second-color);
   font-size: 14px;
}
.top i {
   padding: 10px;
   border-radius: 8px;
   font-size: 15px;
   color: var(--text-color);
   background: var(--main-color);
}

/* Navigation Bar */
.header {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   padding: 20px 160px;
   background: rgba(0, 100, 0, 0.3);
   backdrop-filter: blur(10px);
   display: flex;
   justify-content: space-between;
   align-items: center;
   z-index: 100;
   border-radius: 30px;
   text-align: center;
   border-bottom: 2px solid rgba(0, 100, 0, 0.3);
}
.header span {
   position: absolute;
   top: 0;
   left: -100%;
   width: 100%;
   height: 100%;
   background: linear-gradient(90deg, transparent,
   rgba(0, 100, 0, 0.5), transparent);
   transition: 0.5s;
}
.header:hover span:nth-of-type(1) {
   left: 100%;
}
.Logo {
   font-size: 48px;
   text-decoration: none;
   font-weight: 700;
   background: linear-gradient(to right, #FFD700 0%, #FFFF00 50%, #FFD700 100%);
   -webkit-background-clip: text;
   background-clip: text;
   color: transparent;
   position: relative;
   display: inline-block;
}
.navbar a {
   position: relative;
   font-size: 25px;
   background: linear-gradient(to right, #FFD700 0%, #FFFF00 50%, #FFD700 100%);
   -webkit-background-clip: text;
   background-clip: text;
   color: transparent;
   font-weight: 500;
   text-decoration: none;
   margin-left: 40px;
   transition: 0.3s;
}
/* Navigation Bar Animation */
.navbar a:hover {
   color: #0ef;
}
.navbar span {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   border-bottom: 4px solid #0ef;
   border-radius: 15px;
   transform: scale(0) translateY(50px) translateX(-4px);
   opacity: 0;
   transition: 0.5s;
}
.navbar a:hover span:nth-child(5) {
   transform: scale(1) translateY(5px) translateX(-4px);;
   opacity: 1;
}
.navbar a:hover {
   color: #0ef;
   background: #2196f3;
   box-shadow: 0 0 10px #2196f3, 0 0 40px #2196f3, 0 0 80px #2196f3;
   transition-delay: 0.5s;
   border-radius: 10px;
}


.navbar a span {
   position: absolute;
   display: block;
}




.navbar a span:nth-child(1) {
   top: 0;
   left: -100%;
   width: 100%;
   height: 2px;
   background: linear-gradient(90deg, transparent, #2196f3);
}



.navbar a:hover span:nth-child(1) {
   left: 100%;
   transition: 0.5s;
}


.navbar a span:nth-child(3) {
   bottom: 0;
   right: -100%;
   width: 100%;
   height: 2px;
   background: linear-gradient(270deg, transparent, #2196f3);
}

.navbar a:hover span:nth-child(3) {
   right: 100%;
   transition: 1s;
   transition-delay: 0.5s;
}



.navbar a span:nth-child(2) {
   top: -100%;
   right: 0;
   width: 2px;
   height: 100%;
   background: linear-gradient(180deg, transparent, #2196f3);
}

.navbar a:hover span:nth-child(2) {
   top: 100%;
   transition: 1s;
   transition-delay: 0.25s;
}
/* Screen Resolutions */
@media (max-width: 1480px) {
   header {
      padding: 12px 2.5%;
      transition: .1s;
   }
   header.sticky {
      padding: 10px 2.5%;
      transition: .1s;
   }
   section {
      padding: 110px 3% 60px;
   }
   .end {
      padding: 15px 3%;
   }
}

@media (max-width: 1100px) {
   :root {
      --big-font: 5rem;
      --h2-font: 3rem;
      --p-font: 1.1rem;
      transition: .1s;
   }
   .home-text h3{
      font-size: 2.5rem;
   }
   .home {
      height: 87vh;
   }
}

@media (max-width: 920px) {
   .about {
      grid-template-columns: 1fr;
   }
   .about-img {
      text-align: center;
      order: 2;
   }
   .about-img img {
      width: 100%;
      height: auto;
      max-width: 100%;
   }
   .contact {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 840px) {
   #menu-icon {
      display: block;
   }
   .navbar {
      position: absolute;
      top: -1000px;
      right: 0;
      left: 0;
      display: flex;
      flex-direction: column;
      background: rgba(0, 100, 0, 0.3);
      backdrop-filter: blur(10px);
      text-align: left;
      transition: all .45s ease;
      border-bottom: 2px solid rgba(0, 100, 0, 0.3);
   }
   .navbar a {
      display: block;
      font-size: 20px;
      margin: 17px;
      transform: all .45s ease;
   }
   .navbar a:hover {
      color: var(--main-color);
   }
   .navbar a:active {
      color: var(--text-color);
   }
   .navbar.open {
      top: 100%;
   }
}
